package Day_0212.Git;

/**
 * @author zxc
 * @date 2023/02/12 22:36
 **/
public class Git_Pull_Fetch {
    public static void main(String[] args) {
        /**
         * git pull和git fetch命令之间的区别
         * ===》
         * 1.git pull 命令
         * ===》 从中央存储库中，提取特定分支的新更改或提交，并更新本地存储库中的目标分支。
         *
         * 2.git fetch 也用于相同的目的，
         * 但它的工作方式略有不同。
         * （1）当你执行 git fetch 时，它会从所需分支中提取所有新提交，并将其存储在本地存储库中的新分支中。
         * （2）如果要在目标分支中反映这些更改，必须在 git fetch 之后执行 git merge 。
         * （3）只有在对目标分支和获取的分支进行合并后才会更新目标分支。为了方便起见，请记住以下等式：
         *
         *  ===》
         *  总结 ：
         *  （1）git pull，直接从中央存储库中获取目标分支的新更改/提交 && 同时，更新本地储存库中的目标分支;
         *  （2）git fetch ： 即，从中央存储库中获取目标分支的所有新修改/提交内容，并将其存储在本地存储库中的目标分支中;
         *  ===>
         *  git fetch命令，仅仅只是存储在本地存储库的目标分支中，并未对于从远程存储库所获取的目标分支的所有新修改/提交内容，将其更新到本地存储库的目标分支中;
         *  git pull = git fetch + git merge
         *
         */
    }
}
